<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>


    <script>
        // 定义构造函数
        // 写法1:
        // var App = function(){}; 
        // console.log( new App());
        // 写法2:
        // function App(){}
        // console.log(new App());





        // 构造函数(证明this指向谁)
        // var aaa ;
        // function Example() {
        //     // 添加属性
            // console.log(this);/*  */
        //     aaa = this;
        // }
        // // 实例对象 o1
        // var o1 = new Example();
        // console.log(o1);
        // // 构造函数作用域的this指向实例对象
        // console.log(o1 === aaa);// true



        // 构造函数
        function Example(color) {
            // 添加属性
            this.color = color || "red";
            // 添加方法
            this.sayHello = function(){
                // 通过this引用实例对象的color
                console.log(this.color);
            }
        }
        // 实例对象 o1
        var o1 = new Example();
        console.log(o1);// Example {color: "red", sayHello: ƒ}
        o1.sayHello();// "red"


    </script>
</body>
</html>